10000 REM $linesize: 132 $title: 'CONFIG.BAS V1.8, Copyright 1983,1984,1985 by D. Thomas Mack'; ' WARNING !!! DO NOT CHANGE, BYPASS OR REMOVE LINE 10000-10230
10530 ON ERROR GOTO 60010:DD$="C":GOSUB 10540:SG$=SG1$:FILE$=CA$:GOSUB 30000:IF OK THEN GOTO 10535
10531 LOCATE 24,5:PRINT SPC(74);:LOCATE 24,5:PRINT CA$+" file not found. A new one will be created.";:IA!=FNTI!+5:GOSUB 60440
10532 LOCATE 24,5:PRINT SPC(74);:LOCATE 24,5:PRINT "Default drive on which RBBS is to reside (A-"+M$+"): ";:LINE INPUT;HJ$:GOSUB 50654:IF LEN(HJ$)<>1 OR HJ$<"A" OR HJ$>M$ THEN 10532
11110 CF=0:KA$=PA$:ND=5:SF=10:FOR I=1 TO 7:SA(I)=SF:NEXT:MM=5:FOR I=1 TO 21:MD(I)=MM:NEXT:FC=5:FOR I=1 TO 10:FS(I)=FC:NEXT:UE=5:FOR I=1 TO 16:UA(I)=UE:NEXT:PD$=TB$+":"+"PASSWRDS":CG=3:CH=5:WC=SB:MN=5:FD$=DD$+DD$:MO$=DD$:UF$="99":RB$=D$+"RBBS.BAT":PC=SB
11270 CI$=D$+"RCTTY.BAT":OB$="NO":OC$="NO":BE=0:PRT=TA:TC!=72:MP=5:LA=1:AC=800:AD=2200:CL=FA:OD=TA:M13$="COM1":RC=TA:BF=TA:MW$=". ":M26=FA:M28=FA:M29=FA:BG=6:CM=0:SM1$="<ESC> sysop sign-on maintenance/page.":SM2$=" <F1> return to DOS.
11490 SM3$=" <F2> return to BASIC.":SM4$=" <F3> toggle Line Printer.":SM5$=" <F4> toggle SYSOP Page Bell.":SM6$=" <F5> force on-line state.":SM7$=" <F6> toggle SYSOP available.":SM8$=" <F7> SYSOP gets system after this caller.
11550 SM9$=" <F8> grant temporary SYSOP privileges.":SH$=" <F9> toggle SNOOP.":SI$="<F10> force CHAT - ESC to end.":SG1$="ATM0Q1S2=255S10=30E0S0=1Q0X1":RETURN
11580 ' RBBS-PC Configuration Program for Compilable RBBS-PC
12445 LOCATE 10,10:PRINT" 8. Page SYSOP using printer's bell -------------- "+M11$
12450 LOCATE 11,10:PRINT" 9. Numbers of rings to wait before answering ----"STR$(CE)
12460 LOCATE 12,10:PRINT"10. Drive available for Uploading ---------------- "+M6$
12470 LOCATE 13,10:PRINT"11. Name of directory for uploading -------------- "+UF$
12480 LOCATE 14,10:PRINT"12. Drive(s) available for Downloading ----------- "+M7$
12490 LOCATE 15,10:PRINT"13. Prompt bell default is ----------------------- "+M10$
12500 LOCATE 16,10:PRINT"14. Maximum time per session (in minutes) --------"STR$(TC!)
12510 LOCATE 17,10:PRINT"15. Limit each user to"+STR$(TC!)+" minutes/day? "+STRING$((14-LEN(STR$(TC!))),45)+" "+M26$
12530 LOCATE 18,10:PRINT"16. # Months of inactivty before user deleted ----"STR$(LA)
12560 LOCATE 19,10:PRINT"17. Communications port to be used by RBBS-PC ---- "+M13$
12570 LOCATE 20,10:PRINT"18. Version of DOS that RBBS-PC will run under ---"STR$(DA)
12575 LOCATE 21,10:PRINT"19. Name of RBBS-PC shown initially is ----------- "+FF$
12580 GOSUB 24890
12590 GOSUB 22160
12600 IF IX THEN ON IX GOTO 12360,14200,14570,15340,16130,16910,21550,23000,22350,12190,14200,12620
12610 GOTO 12590
12620 GOSUB 50340:IF VAL(HJ$)<1 OR VAL(HJ$)>19 THEN 12580 ELSE ON VAL(HJ$) GOTO 12840,12910,12980,13060,12670,13140,13210,13342,13350,13400,12730,13470,13750,13840,16650,13940,14120,15240,13131
12670 LOCATE 24,5:PRINT SPC(74):LOCATE 24,5:PRINT"Enter password (8 characters or less)";:GOSUB 14990: IF LEN(HJ$)>8 OR INSTR(HJ$,"0!") THEN HJ$="5":GOTO 12670 ELSE KA$=HJ$:GOTO 12360
12730 GOSUB 13590: UF$=HJ$:GOTO 12360
12840 LOCATE 24,5:PRINT"What is the SYSOP's FIRST name? ";
12850 LINE INPUT;HJ$
12860 IF HJ$="" THEN GOTO 12840
12870 IF LEN(HJ$)<3 GOTO 12840
12880 GOSUB 50654
12890 NB$=HJ$
12900 GOTO 12360
12910 LOCATE 24,5:PRINT"What is the SYSOP's LAST name? ";
12920 LINE INPUT;HJ$
12930 IF HJ$="" THEN GOTO 12910
12940 IF LEN(HJ$)<3 GOTO 12910
12950 GOSUB 50654
12960 NC$=HJ$
12970 GOTO 12360
12980 LOCATE 24,5:PRINT"What is the SYSOP's Password #1? ";
12990 LINE INPUT;HJ$
13020 GOSUB 50654
13030 PA$=HJ$
13040 IF PA$="" THEN MN1$="(Disabled)" ELSE MN1$=PA$
13050 GOTO 12360
13060 LOCATE 24,5:PRINT"What is the SYSOP's Password #2? ";
13070 LINE INPUT;HJ$
13100 GOSUB 50654
13110 PB$=HJ$
13120 IF PB$="" THEN MN2$="(Disabled)" ELSE MN2$=PB$
13130 GOTO 12360
13131 LOCATE 24,5:PRINT"Enter name for this RBBS-PC (19 characters or less) ";
14305 LOCATE 13,10:PRINT"31. Is MICROCOM's MNP protocol available? -------- "+M29$
14310 LOCATE 14,10:PRINT"32. Omit ";DIR$;" from N)ew command ";STRING$(22-LEN(DIR$),"-");" ";OB$
14320 LOCATE 15,10:PRINT"33. Omit ";M6$+":"+UF$;" from N)ew command ";STRING$(20-LEN(UF$),"-");" ";OC$
14330 LOCATE 16,10:PRINT"34. Is system 'welcome' interruptable? ----------- "+M18$
14340 LOCATE 17,10:PRINT"35. Are system bulletins to be 'optional'? ------- "+M15$
14350 IF CM THEN M27$="YES" ELSE M27$="NO
14360 LOCATE 18,10:PRINT"36. Will RBBS-PC be running on a non-IBM PC? ----- "+M27$
14365 LOCATE 19,10:PRINT"37. Issue modem commands between rings ----------- "+M28$
14366 LOCATE 20,10:PRINT"38. Baud rate to initially open modem at --------- "+B$
14367 LOCATE 21,10:PRINT"39. Seconds waited before logging off idle users -"+STR$(TY)
14370 GOSUB 24890
14380 GOSUB 22160
14390 IF IX THEN ON IX GOTO 12360,14200,14570,15340,16130,16910,21550,23000,22350,12360,14570,14410
14400 GOTO 14380
14410 GOSUB 50340:IF VAL(HJ$)<21 OR VAL(HJ$)>39 THEN 14370 ELSE ON VAL(HJ$)-20 GOTO 14420,14430,14440,15710,15800,16690,16722,16730,16790,15880,15911,15920,15960,16000,15840,16040,16121,16124,16031
14420 GOSUB 15520: GOTO 15530
14430 GOSUB 15520: GOTO 15590
14440 GOSUB 15520: GOTO 15650
14570 CN=3
14580 GOSUB 24800
14590 LOCATE 3,10:PRINT"41. Drive containing RBBS-PC bulletins is -------- "+BD$
14600 LOCATE 4,10:PRINT"42. Name of file describing 'bulletins' is ------- "+BA$
14610 LOCATE 5,10:PRINT"43. Number of active 'bulletins' -----------------"+STR$(BG)
14620 LOCATE 6,10:PRINT"44. Prefix used to name bulletin files is -------- "+BB$
14630 LOCATE 7,10:PRINT"45. Drive containing 'help' files is ------------- "+HB$
14640 LOCATE 8,10:PRINT"46. Prefix used to name the nine 'help' files ---- "+HA$
14650 LOCATE 9,10:PRINT"47. Name of 'newuser' file shown to new users ---- "+NA$
14660 LOCATE 10,10:PRINT"48. Name of 'welcome' file shown at logon -------- "+WA$
14680 LOCATE 12,10:PRINT"50. The SYSOP's command menu is named ------------ "+MG$
14690 LOCATE 13,10:PRINT"51. The main messages subsystem menu is named ---- "+MH$
14700 LOCATE 14,10:PRINT"52. The file subsystem menu is named ------------- "+MI$
14710 LOCATE 15,10:PRINT"53. The utilities subsystem menu is named -------- "+MJ$
14730 LOCATE 16,10:PRINT"54. Menu that lists available conferences is ----- "+CD$
14740 LOCATE 17,10:PRINT"55. File containing invalid user names ----------- "+BC$
14742 LOCATE 18,10:PRINT"56. Factor to extend session time for uploads ----"+STR$(UPX!)
14744 LOCATE 19,10:PRINT"57. Default system type for new callers ---------- "+SY$
14750 GOSUB 24890
14760 GOSUB 22160
14770 IF IX THEN ON IX GOTO 12360,14200,14570,15340,16130,16910,21550,23000,22350,14200,15340,14790
14780 GOTO 14760
14790 GOSUB 50340
14800 IF HJ$="41"THEN GOSUB 15160:BD$=TB$:GOTO 14570
14810 IF HJ$="42" THEN GOSUB 14970:BA$=HJ$: GOTO 14570
14820 IF HJ$="43" THEN GOTO 15290
14830 IF HJ$="44" THEN GOSUB 14970: IF LEN(HJ$)>6 THEN HJ$="44":GOTO 14810 ELSE BB$=HJ$: GOTO 14570
14840 IF HJ$="45" THEN GOSUB 15160:HB$=HJ$: GOTO 14570
14850 IF HJ$="46" THEN GOSUB 14970: IF LEN(HJ$)>7 THEN HJ$="44":GOTO 14810 ELSE HA$=HJ$: GOTO 14570
14860 IF HJ$="47" THEN GOSUB 17330: NA$=SJ$+":"+HJ$: GOTO 14570
14870 IF HJ$="48" THEN GOSUB 17330: WA$=SJ$+":"+HJ$: GOTO 14570
14880 IF HJ$="49" THEN GOSUB 13591: DIR$=HJ$: GOTO 14570
14890 IF HJ$="50" THEN GOSUB 17330: MG$=SJ$+":"+HJ$: GOTO 14570
14900 IF HJ$="51" THEN GOSUB 17330: MH$=SJ$+":"+HJ$: GOTO 14570
14910 IF HJ$="52" THEN GOSUB 17330: MI$=SJ$+":"+HJ$: GOTO 14570
14920 IF HJ$="53" THEN GOSUB 17330: MJ$=SJ$+":"+HJ$: GOTO 14570
14940 IF HJ$="54" THEN GOSUB 17330: CD$=SJ$+":"+HJ$: GOTO 14570
14950 IF HJ$="55" THEN GOSUB 17330: BC$=SJ$+":"+HJ$:GOTO 14570
14952 IF HJ$="56" THEN GOSUB 15234:GOTO 14570
14954 IF HJ$="57" THEN GOSUB 15236:GOTO 14570
14960 GOTO 14750
14970 X$=HJ$
14980 LOCATE 24,5:PRINT SPC(74):LOCATE 24,5:PRINT"Specify name of the file for option "+X$+". ";
14990 LINE INPUT;HJ$:GOSUB 50654
15000 IF LEN(HJ$)<1 OR LEN(HJ$)>12 THEN GOTO 14980
15010 L1=INSTR(HJ$,"."):IF L1=0 THEN IF LEN(HJ$)<9 THEN GOTO 15050 ELSE GOTO 14980
15020 IF L1>9 THEN GOTO 14980
15030 IF L1<2 THEN GOTO 14980
15040 IF LEN(HJ$)-L1>3 THEN GOTO 14980
15050 FOR J=1 TO LEN(HJ$)
15060 X=ASC(MID$(HJ$,J,1))
15070 IF (X>63 AND X<91) THEN GOTO 15150
15080 IF (X>47 AND X<58) THEN GOTO 15150
15090 IF (X=33) THEN GOTO 15150
15100 IF (X>34 AND X<42) THEN GOTO 15150
15110 IF (X>43 AND X<47) THEN GOTO 15150
15120 IF (X>96 AND X<124) THEN GOTO 15150
15130 IF (X=125) THEN GOTO 15150
15140 GOTO 14980
15150 NEXT: RETURN
15160 X$=HJ$
15170 LOCATE 24,5:PRINT"Specify drive in the range A->"+M$+" for option "+X$". ";
15180 LINE INPUT;HJ$
15190 IF LEN(HJ$)<>1 THEN GOTO 15170
15200 GOSUB 50654
15210 IF HJ$<"A" OR HJ$>M$ THEN GOTO 15170
15220 TB$=HJ$
15230 RETURN
15234 LOCATE 24,5:PRINT "Extend by what fraction of time uploading ";:LINE INPUT;HJ$:IF VAL(HJ$)<0 OR VAL(HJ$)>10 THEN 15234 ELSE UPX!=VAL(HJ$):RETURN
15236 LOCATE 24,5:PRINT "Enter default system type ";:LINE INPUT;SY$:IF LEN(SY$)<2 THEN GOSUB 50340:GOTO 15236 ELSE RETURN
15240 LOCATE 24,5:PRINT"What version of DOS will RBBS-PC be running under (1, 2, or 3)?";
15250 LINE INPUT;HJ$
15260 B1=VAL(HJ$)
15270 IF B1<1 OR B1>3 THEN GOTO 15240
15280 DA=B1:GOTO 12360
15290 LOCATE 24,5:PRINT"Enter number of active 'bulletins' (0 to 99)";
15300 LINE INPUT;HJ$
15310 B1%=VAL(HJ$)
15320 IF B1%<1 OR B1%>99 THEN GOTO 15290
15330 BG=B1%:GOTO 14570
15340 CN=4
15350 GOSUB 24800
15360 LOCATE 4,10:PRINT"61. System file containing messages is named ----- "+ME$
15380 LOCATE 5,10:PRINT"62. System file for 'callers' is named ----------- "+CB$
15390 LOCATE 6,10:PRINT"63. System file for comments to SYSOP is named --- "+CC$
15400 LOCATE 7,10:PRINT"64. System file for recording users is named ----- "+UC$
15410 GOSUB 24890
15420 GOSUB 22160
15430 IF IX THEN ON IX GOTO 12360,14200,14570,15340,16130,16910,21550,23000,22350,14570,16130,15450
15440 GOTO 15420
15450 GOSUB 50340
15460 IF HJ$="61" THEN GOSUB 17330: GOTO 15511
15480 IF HJ$="62" THEN GOSUB 17330: CB$=SJ$+":"+HJ$:GOTO 15340
15490 IF HJ$="63" THEN GOSUB 17330: CC$=SJ$+":"+HJ$:GOTO 15340
15500 IF HJ$="64" THEN GOSUB 17330: GOTO 15512
15510 GOTO 15410
15511 IF LEN(HJ$)>8 OR INSTR(HJ$,".") THEN HJ$="61":GOTO 15460 ELSE ME$=SJ$+":"+HJ$:MF$=ME$+".BAK":MAINMSG$=ME$:GOTO 15340
15512 IF LEN(HJ$)>8 OR INSTR(HJ$,".") THEN HJ$="64":GOTO 15500 ELSE UC$=SJ$+":"+HJ$:MAINUSR$=UC$:GOTO 15340
15520 LOCATE 24,5:PRINT"(See the description of the COLOR statement in Basic.)";:RETURN
15530 LOCATE 25,5:PRINT"Enter foreground color (a value between 0 and 15)";
15540 LINE INPUT;HJ$
15550 B1=VAL(HJ$)
15560 IF B1<0 OR B1>15 THEN GOTO 15530
15570 FGR=B1
15580 GOTO 14200
15590 LOCATE 25,5:PRINT"Enter background color (a value between 0 and 7)";
15600 LINE INPUT;HJ$
15610 B1=VAL(HJ$)
15620 IF B1<0 OR B1>7 THEN GOTO 15590
15630 BGR=B1
15640 GOTO 14200
15650 LOCATE 25,5:PRINT"Enter the border color (a value between 0 and 7)";
15660 LINE INPUT;HJ$
15670 B1=VAL(HJ$)
15680 IF B1<0 OR B1>7 THEN GOTO 15650
15690 BDR=B1
15700 GOTO 14200
15710 LOCATE 24,5:PRINT"Modem speaker default? (ON or OFF) ";
15720 LINE INPUT;HJ$
15730 IF LEN(HJ$)<1 OR LEN(HJ$)>3 THEN GOTO 15710
15740 GOSUB 50654
15750 IF HJ$="ON" THEN GOTO 15780
15760 IF HJ$="OFF" THEN GOTO 15780
15770 GOTO 15710
15780 M14$=HJ$
15790 GOTO 14200
15800 LOCATE 24,5:PRINT"Remind users of the messages they left? (YES or NO) ";
15810 GOSUB 22380:ON AB GOTO 15820,15820,15800,15800
15820 M16$=HJ$
15830 GOTO 14200
15840 LOCATE 24,5:PRINT"Are system bulletins to be optional? (YES or NO) ";
15850 GOSUB 22380:ON AB GOTO 15860,15860,15840,15840
15860 M15$=HJ$
15870 GOTO 14200
15880 LOCATE 24,5:PRINT"Is non-ascii protocol required for binary files? (YES or NO) ";
15890 GOSUB 22380:ON AB GOTO 15900,15900,15880,15880
15900 M17$=HJ$
15910 GOTO 14200
15911 LOCATE 24,5:PRINT"Enable MICROCOM's MNP protocol? (YES or NO) ";
15912 GOSUB 22380:ON AB GOTO 15913,15913,15911,15911
15913 M29$=HJ$
15914 GOTO 14200
15920 LOCATE 24,5:PRINT"Is ";DIR$;" omitted from the N)ew command? (YES or NO) ";
15930 GOSUB 22380:ON AB GOTO 15940,15940,15920,15920
15940 OB$=HJ$
15950 GOTO 14200
15960 LOCATE 24,5:PRINT"Is ";UF$;" omitted from the N)ew command? (YES or NO) ";
15970 GOSUB 22380:ON AB GOTO 15980,15980,15960,15960
15980 OC$=HJ$
15990 GOTO 14200
16000 LOCATE 24,5:PRINT"Is system 'welcome' interruptable (YES OR NO) ";
16010 GOSUB 22380:ON AB GOTO 16020,16020,16000,16000
16020 M18$=HJ$
16030 GOTO 14200
16031 LOCATE 24,5:PRINT"Seconds users can be idle before being logged off";
16032 LINE INPUT;HJ$
16033 TY=VAL(HJ$)
16034 IF TY<1 OR TY>32400 THEN GOTO 16031
16035 GOTO 14200
16040 LOCATE 24,5:PRINT"Will RBBS-PC be running on a non-IBM PC (YES OR NO) ";
16050 GOSUB 22380:ON AB GOTO 16060,16080,16040,16040
16060 CM=0
16070 GOTO 14200
16080 GOSUB 50340:LOCATE 24,5:PRINT"Will RBBS-PC be running on a COMPAQ+ (YES OR NO) ";
16090 GOSUB 22380:ON AB GOTO 16110,16100,16080,16080
16100 CM=1:GOTO 14200
16110 CM=2:GOTO 14200
16120 GOTO 14200
16121 LOCATE 24,5:PRINT"Wait to issue modem commands between rings? (YES OR NO) ";
16122 GOSUB 22380:ON AB GOTO 16123,16123,16121,16121
16123 M28$=HJ$:GOTO 14200
16124 LOCATE 25,5:PRINT"Enter initial baud rate (300, 1200, 2400) to open modem at ";
16125 LINE INPUT;HJ$
16126 B1=VAL(HJ$)
16127 IF B1=300 OR B1=1200 OR B1=2400 THEN GOTO 16128 ELSE GOTO 16124
16128 B$=MID$(STR$(B1),2)
16129 GOTO 14200
16130 CN=5
16140 GOSUB 24800
16150 LOCATE 3,10:PRINT"81. Is the 'door' subystem available? ------------ "+M21$
16160 LOCATE 4,10:PRINT"82. The 'door' subsystem menu is named ----------- "+MK$
16170 LOCATE 5,10:PRINT"83. File RBBS builds dynamically to open a 'door'- "+CI$
16180 LOCATE 6,10:PRINT"84. When a 'door' closes, file to re-invoke RBBS - "+RB$
16190 GOSUB 24890
16200 GOSUB 22160
16210 IF IX THEN ON IX GOTO 12360,14200,14570,15340,16130,16910,21550,23000,22350,15340,16910,16230
16220 GOTO 16200
16230 GOSUB 50340
16240 IF HJ$="81" THEN GOTO 16290
16250 IF HJ$="82" THEN GOSUB 17330: MK$=SJ$+":"+HJ$:GOTO 16130
16260 IF HJ$="83" THEN GOSUB 17330: CI$=SJ$+":"+HJ$:GOTO 16130
16270 IF HJ$="84" THEN GOSUB 17330: RB$=SJ$+":"+HJ$:GOTO 16130
16280 GOTO 16190
16290 LOCATE 24,5:PRINT"Is the window subsystem available? (YES or NO) ";
16300 GOSUB 22380:ON AB GOTO 16310,16310,16290,16290
16310 M21$=HJ$
16320 IF M21$="NO" GOTO 16130 ELSE GOSUB 50340:LOCATE 24,1:PRINT "Will you be running RBBS-PC under MultiLink from The Software Link? ";
16330 GOSUB 22380:ON AB GOTO 16340,16350,16290,16290
16340 IA!=FNTI!+15:GOSUB 16470:GOTO 16130
16350 GOSUB 16380:GOTO 16360
16360 LOCATE 23,1:PRINT"Current Multi-Link terminal type for WINDOWS is ";MN
16370 GOSUB 50340:LOCATE 24,1:PRINT "Enter Multi-Link terminal type for WINDOWS ";:GOSUB 17420:MN=B1:IF MN <1 THEN 16370 ELSE IF MN >12 THEN GOTO 16370 ELSE GOTO 16130
16380 CLS:PRINT "Multi-Link is a software product of The Software Link, Inc.":PRINT"located at 6700 23-B Roswell Road, Atlanta, Georgia 30328.":PRINT "It allows IBM's DOS 1.1 or 2.0 or the IBM PC to be a multi-tasking
16400 PRINT "operating system. The Capital PC User Group has no connection
16410 PRINT "whatsoever with this company or it's products. In fact The Software":PRINT"Link has only occasionally sent updates of it's new releases to us.":PRINT"That is the reason that RBBS-PC is only supported under Release 3.01 of
16420 PRINT"Multi-Link. I feel strongly that IBM's DOS for the PC should be":PRINT"multi-tasking. Because Multi-Link provides this capability for the widest
16430 PRINT"ranges of DOS software for the IBM PC, RBBS-PC has been enhanced":PRINT "to run under Multi-Link. Any questions regarding RBBS-PC under Multi-Link":PRINT"(other than Release 3.01 of Multi-Link) should be directed to The
16440 PRINT"Software Link's customer support group at (404) 998-0788.":PRINT"":PRINT"I have run RBBS-PC under Multi-Link since December 1983 -- since Multi-Link":PRINT"release 2.04. Since Multi-Link release 2.06 I HAVE NEVER HAD A SYSTEM CRASH
16450 PRINT"due to Multi-Link. I think it is a quality product but a bit over-priced.":PRINT "My opnion on Multi-Link's price reflects my prejudice that all PC software":PRINT"should be relatively inexpensive.":PRINT"":PRINT SPC(60);"Tom Mack
16460 PRINT SPC(60);"July 1, 1984":RETURN
16470 CLS:PRINT" ******Warning******":PRINT"IBM's DOS absolutely REQUIRES any software package running":PRINT"as a 'door' (i.e. via a communication port) to monitor the":PRINT"communication port! Unless the software that you invoke via
16480 PRINT"the RBBS-PC 'door' mechanism monitors the communication line,":PRINT"your system will be vulnerable to being hung -- and worse!!!":PRINT"If you don't THROUGHLY understand section 10.0 of RBBS-PC's
16490 PRINT"documentation which discusses the pitfalls of opening RBBS-PC's":PRINT"'doors' to your users, DON'T use 'doors'!!!!!
16640 IF FNTI!<IA! THEN 16640 ELSE RETURN
16650 LOCATE 24,5:PRINT"Limit the maximum time a users can be on each day? (YES or NO) ";
16660 GOSUB 22380:ON AB GOTO 16670,16670,16650,16650
16670 M26$=HJ$
16680 GOTO 12360
16690 LOCATE 24,5:PRINT"Remind users of # uploads and downloads? (YES or NO) ";
16700 GOSUB 22380:ON AB GOTO 16710,16710,16690,16690
16710 M19$=HJ$
16720 GOTO 14200
16722 LOCATE 24,5:PRINT"Remind users of their terminal's profile? (YES or NO) ";
16723 GOSUB 22380:ON AB GOTO 16724,16724,16722,16722
16724 M20$=HJ$
16725 GOTO 14200
16730 LOCATE 24,5:PRINT"Default user page length?(a value between 0 and 255)";
16740 LINE INPUT;HJ$
16750 B1=VAL(HJ$)
16760 IF B1<0 OR B1>255 THEN GOTO 16730
16770 PL=B1
16780 GOTO 14200
16790 LOCATE 24,5:PRINT"Maximum number of lines allowed per message (1->30)";
16800 LINE INPUT;HJ$
16810 B1=VAL(HJ$)
16820 IF B1<1 OR B1>30 THEN GOTO 16790
16830 LW=B1
16840 GOTO 14200
16850 LOCATE 24,5:PRINT"Security level temporarily imposed on conference 'viewers'";
16860 HJ$="V>iew
16870 GOSUB 17420:VA=B1
16900 GOTO 16910
16910 CN=6
16920 GOSUB 24800
16930 LOCATE 3,9:PRINT"101. Minimum security level to get onto RBBS ------ "STR$(ML)
16940 LOCATE 4,9:PRINT"102. Default security level for new callers ------- "STR$(DB)
16950 LOCATE 5,9:PRINT"103. Security level for SYSOP --------------------- "STR$(SB)
16960 LOCATE 6,9:PRINT"104. Files with download security are listed in --- "+FB$
16970 LOCATE 7,9:PRINT"105. Minimum security level to see SYSOP's menu --- "STR$(SC)
16980 LOCATE 8,9:PRINT"106. Minimum security level to use RBBS-PC 'doors' "+STR$(SD)
16990 LOCATE 9,9:PRINT"107. Max # security violations before disconnect -- "STR$(ND)
17000 M22$=STR$(SF):IX=SA(1):FOR I=2 TO 7:IF IX<>SA(I) THEN M22$="(Variable)":GOTO 17010 ELSE NEXT
17010 LOCATE 10,9:PRINT"108. Security level for SYSOP functions ----------- "M22$
17020 M23$=STR$(MM):IX=MD(1):FOR I=2 TO 21:IF IX<>MD(I) THEN M23$="(Variable)":GOTO 17030 ELSE NEXT
17030 LOCATE 11,9:PRINT"109. Security level for main menu functions ------- "M23$
17040 M24$=STR$(FC):IX=FS(1):FOR I=2 TO 10:IF IX<>FS(I) THEN M24$="(Variable)":GOTO 17050 ELSE NEXT
17050 LOCATE 12,9:PRINT"110. Security level for file menu functions ------- "M24$
17060 M25$=STR$(UE):IX=UA(1):FOR I=2 TO 16:IF IX<>UA(I) THEN M25$="(Variable)":GOTO 17070 ELSE NEXT
17070 LOCATE 13,9:PRINT"111. Security level for utilities menu functions -- "M25$
17080 LOCATE 14,9:PRINT"112. File with privileged group passwords is named- "PD$
17090 LOCATE 15,9:PRINT"113. Max # of password changes in a session ------- "STR$(CG)
17100 LOCATE 16,9:PRINT"114. Min. security level for temp. password changes "STR$(CH)
17110 LOCATE 17,9:PRINT"115. Min. security level to overwrite on uploads -- "STR$(WC)
17115 LOCATE 18,9:PRINT"116. Security level of conference 'viewers' ------- "STR$(VA)
17116 LOCATE 19,9:PRINT"117. User's security exempted from 'packing' ------ "STR$(PC)
17120 GOSUB 24890
17130 GOSUB 22160
17140 IF IX THEN ON IX GOTO 12360,14200,14570,15340,16130,16910,21550,23000,22350,16130,21550,17160
17150 GOTO 17130
17160 GOSUB 50340
17170 IF HJ$="101" THEN GOSUB 18730:GOSUB 17410:ML=B1:GOTO 16910
17180 IF HJ$="102" THEN GOSUB 18730:GOSUB 17410:DB=B1:GOTO 16910
17190 IF HJ$="103" THEN GOSUB 18730:GOSUB 17410:SB=B1:GOTO 16910
17200 IF HJ$="104" THEN GOSUB 17330:FB$=SJ$+":"+HJ$:GOTO 16910
17210 IF HJ$="105" THEN GOSUB 18730:GOSUB 17410:SC=B1:GOTO 16910
17220 IF HJ$="106" THEN GOSUB 18730:GOSUB 17410:SD=B1:GOTO 16910
17230 IF HJ$="107" THEN GOSUB 18730:GOSUB 17410:ND=B1:GOTO 16910
17240 IF HJ$="108" THEN GOTO 17460
17250 IF HJ$="109" THEN GOSUB 17460:MM=B1:GOTO 16910
17260 IF HJ$="110" THEN GOSUB 17460:FC=B1:GOTO 16910
17270 IF HJ$="111" THEN GOSUB 17460:UE=B1:GOTO 16910
17280 IF HJ$="112" THEN GOSUB 17330:PD$=SJ$+":"+HJ$:GOTO 16910
17290 IF HJ$="113" THEN GOSUB 50340:LOCATE 24,1:PRINT "Maximum number of password changes is? (0 or more)";:GOSUB 17420:CG=B1:IF B1<0 THEN 17290 ELSE 16910
17300 IF HJ$="114" THEN GOSUB 18730:GOSUB 17410:CH=B1:GOTO 16910
17310 IF HJ$="115" THEN HJ$="overwriting files on upload":GOSUB 17410:WC=B1:GOTO 16910
17315 IF HJ$="116" THEN GOTO 16850
17316 IF HJ$="117" THEN GOSUB 18730:GOSUB 17410:PC=B1:GOTO 16910
17320 GOTO 17120
17330 X$=HJ$:LOCATE 24,5:PRINT"Specify drive (A->"+M$+") where file for option "+X$+" will be located. ";
17340 LINE INPUT;HJ$
17350 IF LEN(HJ$)<>1 THEN HJ$=X$:GOTO 17330
17360 GOSUB 50654
17370 IF HJ$<"A" OR HJ$>M$ THEN HJ$=X$:GOTO 17330
17380 SJ$=HJ$
17390 GOSUB 14980
17400 RETURN
17410 GOSUB 50340:LOCATE 24,1:PRINT "Security level for "+HJ$+" is? ";
17420 LINE INPUT;HK$
17430 B1=VAL(HK$)
17440 IF B1=0 AND HK$<>"0" THEN 17410
17450 RETURN
17460 IF HJ$="108" THEN CO$="SYSOP":GOTO 18480
17470 IF HJ$="109" THEN CO$="Main Menu":GOTO 18100
17480 IF HJ$="110" THEN CO$="File System":GOTO 17820
17490 IF HJ$="111" THEN CO$="Utilities
17500 LOCATE 24,1:PRINT"Set ALL the "+CO$+" commands to the SAME security level? (YES or NO)";
17510 LINE INPUT;X$
17520 IF LEN(X$)<1 OR LEN(X$)>3 THEN GOTO 17500
17530 SWAP HJ$,X$:GOSUB 50654:SWAP HJ$,X$
17540 IF X$="YES" OR X$="Y" THEN HJ$="all "+CO$+" commands":GOSUB 17410:FOR I=1 TO 16:UA(I)=B1:NEXT:UE=B1:GOTO 16910
23720 IF RB AND VAL(MID$(R$,2,4))=IO THEN GOTO 23730
23722 IF RB THEN GOSUB 50580
23725 NEXT
23730 GET 1,1:MID$(R$,1,8)=SPACE$(8):MID$(R$,1,8)=STR$(SK):PUT 1,1:CLOSE 1:IA!=FNTI!+5:GOSUB 60440:GOTO 23000
23731 LOCATE 25,5:PRINT "Setting Hayes 2400 firmware switches for RBBS-PC on "+M13$;:IA!=FNTI!+3:GOSUB 60440
23732 A$="AT&C1&D2S0=1B1E0":LOCATE 25,5:PRINT SPACE$(74);:LOCATE 25,5:PRINT "Prevent remote digitial loop back tests? ";:GOSUB 22380:ON AB GOTO 23734,23733,23732,23732
23733 A$=A$+"&T5"
23734 OPEN M13$+":2400,N,8,1,RS,CD,DS" AS #3: PRINT #3,"ATZ":IA!=FNTI!+3:GOSUB 60440:PRINT #3,A$+"&W":GOSUB 60440
23735 CLOSE #3:LOCATE 25,5:PRINT SPACE$(74);:LOCATE 25,5:PRINT "Hayes 2400 firmware switches are now set for RBBS-PC on "+M13$;:IA!=FNTI!+3:GOSUB 60440:RETURN
23740 GOSUB 30040
23750 GOSUB 50340:LOCATE 24,5:PRINT"Renumber starting with OLD message # (<"+STR$(IO+1)+")";
23760 LINE INPUT;HJ$
23770 IF HJ$="" THEN GOTO 23000
23780 B1=VAL(HJ$)
23790 IF B1<1 OR B1>IO THEN GOTO 23750
23800 RE=B1
23810 GOSUB 50340:LOCATE 24,5:PRINT"Renumber starting with NEW message # ";
23820 LINE INPUT;HJ$
23830 IF HJ$="" THEN GOTO 23000
23840 B1=VAL(HJ$)
23850 IF B1<1 OR B1>9999 THEN GOTO 23810
23860 NE=B1-1
23870 OPEN "R",1,ME$
23880 FIELD 1,128 AS R$
23890 GOSUB 50340
23900 J!=IJ
23910 FOR I = IJ TO II-1
23920 GET 1,J!
23930 IF INSTR(R$,CHR$(225)) OR INSTR(R$,CHR$(226)) THEN GOSUB 24010:GOSUB 23610
23940 NEXT
23942 GET 1,1
23944 MID$(R$,1,8)=SPACE$(8) ' Update the checkpoint record with the
23946 MID$(R$,1,8)=STR$(NE) ' 1- 8 = number of last message on system
23947 PUT 1,1
23950 CLOSE 1
23980 IA!=FNTI!+1
23990 GOSUB 60440
24000 GOTO 23000
24010 LOCATE 24,15
24020 PRINT "Msg #"+MID$(R$,1,5);
24030 IF VAL(MID$(R$,2,4))<RE THEN PRINT " read";:RETURN
24040 Y$=MID$(R$,1,1)
24045 MID$(R$,1,5)=SPACE$(5)
24046 NE=NE+1
24050 MID$(R$,1,5)=STR$(NE)
24060 MID$(R$,1,1)=Y$
24070 PRINT " renumbered as Msg #"+MID$(R$,1,5)
24090 PUT 1,J!
24100 RETURN
24110 GOSUB 30040
24119 OPEN "R",1,UC$,128
24120 FIELD 1,31 AS O.N$,15 AS OG$,2 AS OH$,14 AS OI$,24 AS OJ$,19 AS OL$,14 AS OM$,3 AS OO$,2 AS OQ$,2 AS OS$,2 AS OT$
50360 IF INSTR(UC$,".") THEN F$=MID$(UC$,1,INSTR(UC$,".")-1)
50370 RETURN
50480 UB=8
50490 NAME UC$ AS UC$
50500 OPEN "R",1,UC$
50510 IF UB<LOF(1)/128 THEN UB=LOF(1)/128
50520 UG=LOF(1)/128:CLOSE 1:RETURN
50530 MQ!=(5*MP)+1+MC
50540 NAME ME$ AS ME$
50550 OPEN "R",1,ME$
50560 IF MQ!<LOF(1)/128 THEN MQ!=LOF(1)/128
50570 CLOSE 1:RETURN
50580 OLD=LOC(1):GET 1,J!
50590 IF (MID$(R$,116,1)=CHR$(225) OR MID$(R$,116,1)=CHR$(226)) AND (MID$(R$,61,1)=":" AND MID$(R$,64,1)=":" AND MID$(R$,70,1)="-" AND MID$(R$,73,1)="-") THEN RETURN
50600 PRINT "Message chain broken at record number "+STR$(OLD)
50610 PRINT "Message chain repair in progress!
50620 FOR IQ=OLD+1 TO II-1
50630 GET 1,IQ
50640 IF (MID$(R$,116,1)=CHR$(225) OR MID$(R$,116,1)=CHR$(226)) AND (MID$(R$,61,1)=":" AND MID$(R$,64,1)=":" AND MID$(R$,70,1)="-" AND MID$(R$,73,1)="-") THEN GOTO 50660
50645 NEXT
50650 GOTO 23730
50654 ' Convert Lower Case to Upper Case -------
50655 FOR Z=1 TO LEN(HJ$):MID$(HJ$,Z,1)=CHR$(ASC(MID$(HJ$,Z,1))+32*(ASC(MID$(HJ$,Z,1))>96)):NEXT:RETURN
60040 IF ERR=62 AND (ERL=11600 OR ERL=11620 OR ERL=11640) THEN PRINT CA$+" from a version earlier than CPC12.5 on default drive.":PRINT "Please delete and rerun CONFIG.":RESUME 60340
60140 IF ERL=31000 AND ERR=58 THEN KILL A$:RESUME 31000
60150 IF ERL=31030 AND ERR=58 THEN KILL A$:RESUME 31030
60170 IF ERL=22120 AND ERR=6 THEN RESUME 22100
60270 IF ERL=24750 AND ERR=58 THEN KILL A$:RESUME 24750
60278 IF ERL=50490 AND ERR=58 THEN RESUME 50500
60280 IF ERL=50540 AND ERR=58 THEN RESUME 50550
60282 IF ERL=50490 OR ERL=50540 THEN RESUME 13740
60285 IF ERR=61 THEN PRINT "ERROR - IBM DOS DISKETTE FULL ":RESUME 60340
60290 IF ERR=67 THEN PRINT "ERROR - IBM DOS DIRECTORY FULL":RESUME 60340
60300 IF ERR=70 THEN PRINT "DISKETTE IN DRIVE IS WRITE PROTECTED":RESUME 60340
60310 IF ERR=71 THEN PRINT "DRIVE DOOR OPEN OR MISSING DISKETTE":RESUME 60340
60320 IF ERR=72 THEN PRINT "ERROR - UNFORMATTED IBM DOS DISKETTE IN DRIVE":RESUME 60340
60330 PRINT "+++ Error";ERR;" in line ";ERL "occurred at " TIME$ " on " DATE$:STOP
60340 IF F=1 THEN GOSUB 10540:IA!=FNTI!+5
60350 GOSUB 60440
60360 SYSTEM
60370 PRINT "Unable to create preformatted "+UC$+" file.":GOTO 60340